package com.freeter.modules.gjs.service;

import java.nio.file.Path;

/**
 * 文件监控服务接口
 * 负责监控指定目录下的文件变化，并处理相应的业务逻辑
 * 
 * @author freeter
 * @since 2024-01-01
 */
public interface FileWatcherService {
    
    /**
     * 启动文件监控服务
     * 监控以下目录：
     * - 收货单文件目录 (gr)
     * - 交易文件目录 (transaction)
     * - 调拨申请文件目录 (transfer_request)
     * - 损坏报告文件目录 (damage_report)
     */
    void startFileWatcher();
    
    /**
     * 停止文件监控服务
     */
    void stopFileWatcher();
    
    /**
     * 处理收货单文件
     * @param filePath 文件路径
     */
    void processGrFile(Path filePath);
    
    /**
     * 处理交易文件
     * @param filePath 文件路径
     */
    void processTransactionFile(Path filePath);
    
    /**
     * 处理调拨申请文件
     * @param filePath 文件路径
     */
    void processTransferRequestFile(Path filePath);
    
    /**
     * 处理损坏报告文件
     * @param filePath 文件路径
     */
    void processDamageReportFile(Path filePath);
    
    /**
     * 检查服务是否正在运行
     * @return 运行状态
     */
    boolean isRunning();
} 